Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tenant Index #834

Merged
merged 39 commits into from
Aug 11, 2021
Merged

Tenant Index #834

merged 39 commits into from
Aug 11, 2021

Conversation

joe-elliott
Copy link
Member

@joe-elliott joe-elliott commented Jul 23, 2021

What this PR does:
Adds support for a tenant index with the following new parameters:

storage:
  trace:
    blocklist_poll_fallback: true
    blocklist_poll_tenant_index_builders: 2

By default all queriers and most compactors will attempt to download a tenant index located at /<tenant id>/index.json.gzip instead of repeatedly listing the bucket. This gzipped json file will contain a list of all metas and compacted metas for this tenant.

blocklist_poll_fallback controls whether or not the various components fall back to scanning the bucket if the index fails.
blocklist_poll_tenant_index_builders is the max number of compactors that attempt to build the index. it could be less depending on sharding.

This PR includes all changes necessary to do the above, as well as related metrics, alerts, and runbook entries. Additionally #825 is fixed because the querier and compactors will now require a polling cycle to complete before they raise their readiness probes.

Which issue(s) this PR fixes:
Fixes #575
Fixes #825

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Copy link
Member

@kvrhdn kvrhdn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running this locally, I can confirm it fixes #825. The PR in general seems fine, though I'm not super familiar with the compactor.

modules/storage/config.go Show resolved Hide resolved
modules/storage/config.go Show resolved Hide resolved
tempodb/blocklist/list.go Outdated Show resolved Hide resolved
Copy link
Contributor

@annanay25 annanay25 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very well thought out change. Really like the tenant index creation idea. Added comments.

tempodb/blocklist/poller.go Show resolved Hide resolved
tempodb/blocklist/poller.go Outdated Show resolved Hide resolved
cmd/tempo/app/modules.go Show resolved Hide resolved
docs/tempo/website/operations/_index.md Outdated Show resolved Hide resolved
tempodb/blocklist/poller.go Show resolved Hide resolved
tempodb/blocklist/list.go Outdated Show resolved Hide resolved
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
@joe-elliott joe-elliott merged commit 49b130e into grafana:main Aug 11, 2021
@kvrhdn kvrhdn mentioned this pull request Sep 14, 2021
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants